define(["jquery", "easy-admin"], function ($, ea) {

    var init = {
        table_elem: '#currentTable',
        table_render_id: 'currentTableRenderId',
        index_url: 'cashcard.user/index',
        add_url: 'cashcard.user/add',
        edit_url: 'cashcard.user/edit',
        delete_url: 'cashcard.user/delete',
        export_url: 'cashcard.user/jsExport',
        modify_url: 'cashcard.user/modify',
        send_url: 'cashcard.user/send'
    };

    var Controller = {

        index: function () {
            let cate_id = this.getUrlParams('cate_id') || null;
            if (cate_id) {
                init.index_url += '?cate_id=' + cate_id;
            }
            ea.table.render({
                init: init,
                toolbar: ['refresh'],
                cols: [[
                    {type: 'checkbox'},
                    {field: 'id', title: 'ID', width: 70},
                    // {
                    //     field: 'cate_id', title: '所属种类', templet: function (d) {
                    //         return d.cate_name;
                    //     }
                    // },
                    {field: 'code', title: '编码'},
                    {field: 'cate.title', title: '分组'},
                    {field: 'admin.username', title: '所属管理员', width: 100},
                    {field: 'user.id', title: '所属会员', width: 90},
                    {
                        field: 'related_cate', title: '适用范围', search: false, templet: function (d) {
                            return d.cate_list
                        }
                    },
                    {
                        field: 'title', title: '使用条件', search: false, templet: function (d) {
                            if (d.cate.min_order_price > 0) {
                                return '满<span style="color:#f56c6c">' + d.cate.min_order_price + '</span>减<span style="color:#f56c6c">' + d.cate.cashcard_price + '</span>';
                            } else {
                                return '<span style="color:#f56c6c">无门槛</span>'
                            }
                        }
                    },
                    // {field: 'related_store', title: '关联商户'},
                    {
                        field: 'create_time', title: '时间', search: 'range', width: 160, templet: function (d) {
                            let used_at = d.used_time || '未使用';
                            return '<div style="text-align: left;">' +
                                '<span class="">生成：' + d.create_time + '</span>' +
                                '<br/><span class="">使用：' + used_at + '</span>' +
                                '<br/><span class="">过期：' + d.expire_at + '</span></div>';
                        }
                    },
                    // {field: 'send_time', title: '分发时间'},
                    // {field: 'used_time', title: '使用时间', search: 'range', width: 160},
                    // {field: 'destroy_time', title: '销毁时间'},
                    // {field: 'expire_time', title: '过期时间', search: 'range', width: 160},
                    {
                        field: 'status',
                        title: '使用状态',
                        selectList: {'-1': '已退款', '1': '计费中', '2': '待支付', '3': '已支付'},
                        templet: function (d) {
                            return d.status_info;
                        }
                    },
                    // {
                    //     width: 250, title: '操作', templet: ea.table.tool,
                    //     operate: ['',
                    //         [{
                    //             class: 'layui-btn  layui-btn-xs layui-btn-danger',
                    //             method: 'open',
                    //             field: 'id',
                    //             to_field: 'cate_id',
                    //             icon: 'fa fa-paper-plane',
                    //             text: '分发',
                    //             title: '分发',
                    //             url: init.send_url,
                    //             extend: "",
                    //             br: true
                    //         },]
                    //     ],
                    // },
                ]],
            });

            ea.listen();
        },
        add: function () {
            ea.listen();
        },
        edit: function () {
            ea.listen();
        },
        getUrlParams: function (name) { // 不传name返回所有值，否则返回对应值
            let url = window.location.search;
            if (url.indexOf('?') == 1) {
                return false;
            }
            url = url.substr(1);
            url = url.split('&');
            var name = name || '';
            var nameres;
            // 获取全部参数及其值
            for (var i = 0; i < url.length; i++) {
                var info = url[i].split('=');
                var obj = {};
                obj[info[0]] = decodeURI(info[1]);
                url[i] = obj;
            }
            // 如果传入一个参数名称，就匹配其值
            if (name) {
                for (var i = 0; i < url.length; i++) {
                    for (const key in url[i]) {
                        if (key == name) {
                            nameres = url[i][key];
                        }
                    }
                }
            } else {
                nameres = url;
            }
            // 返回结果
            return nameres;
        }
    };
    return Controller;
});